Nodes, such as servers, may provide services to one or more devices, such as client devices. If a particular node fails, the devices served by that node might not be able to access the services provided by the failed node. However, if the node is part of a network of nodes, such as a server cluster, another node may provide those services. In order for the other node to provide the same services, the nodes in the network may be kept synchronized with one another. Synchronization is currently accomplished using known consensus protocols, such as Paxos, RAFT, and Egalitarian Paxos. A frequent drawback of these consensus protocols is that a single node (or just a handful nodes) is typically designated as the leader node assigned to keep the other nodes in the network synchronized. Using a small number of leader nodes may limit the overall throughput of the network, causing the nodes to synchronize at a slow rate. These and other problems are addressed by the present disclosure.